package controllers;

import play.*;
import play.mvc.*;

import java.util.*;

import controllers.Secure.Security;

import models.Usuario;

public class Seguranca extends Secure.Security {

	/**
	 * tenta realizar o longin no sistema
	 * @param usuario email do usuario
	 * @param senha
	 * @return se conseguiu entrar no sistema ou nao
	 */
	static boolean authenticate(String usuario, String senha){

		//login do administrador
		if(usuario.equalsIgnoreCase("admin@email.com") && senha.equalsIgnoreCase("123mudar")){
			//se existe um administrador
			if(Usuario.getUsuarioCoordenador()!= null){
				return true;
			}
			//se nao houver um coordenador no banco
			else {
				//cria um coordenador, sava no bd e aurotiza o login
				Usuario adm = new Usuario("administrador", "siape", "admin@email.com","123mudar");
				adm.coordenador = 1;
				adm.save();
				return true;
			}
		}
		//login normal
		else{
			if(Usuario.getUsuario(usuario, senha)!= null)
				return true;
			//nao logou
			else
				return false;
		}
	}

	/**
	 * verifica se o usuario eh administrador
	 * @param usuario que esta sendo testado
	 * @return true se eh admin ou false se nao
	 */
	static boolean check(String usuario) {
//		renderJSON(Security.connected());
		Usuario a = Usuario.getUsuarioPorEmail(Security.connected());
		
		return (a.coordenador == 1);
	}

	/**
	 * metodo chamado quando deslogado
	 */
	static void onDisconnected() {
		Login.index();
	}

}
